1. Field
This disclosure relates to methods and systems for testing network communications devices, systems and applications.
2. Description of the Related Art
Traditional network routing and switching devices are stateless in that these devices make decisions based on information that is contained within headers without maintaining any information about previous packets. They do not maintain any type of connection to the client or server at either end of the TCP transaction.
True TCP sessions contain a feedback mechanism. For example, a TCP receiver sends acknowledgement packets to a TCP sender that advertise a window size to the TCP sender that inform the TCP sender the size of the receiver's receive buffer. The sender uses the advertised window size to control the flow of packets sent to the receiver. This mechanism causes the flow of incoming traffic to vary as a function of receiver performance. For instance, as a TCP receiver becomes overloaded, the rate of removing and processing packets from its TCP receive buffer decreases. As a result, the window size advertised to the sender decreases, and the TCP sender slows the flow of packets sent to the receiver. In addition, the mechanism can generate redundant data. For example, if a TCP receiver receives an out-of-sequence packet, the receiver will send a duplicate acknowledgement to the sender indicating that an out of sequence packet was received.
Multiprotocol Label Switching (MPLS) is a data-carrying mechanism which emulates some properties of a circuit-switched network over a packet-switched network. MPLS operates at an OSI Model layer that is generally considered to lie between traditional definitions of Layer 2 (data link layer) and Layer 3 (network layer), and thus is often referred to as a “Layer 2.5” protocol. It was designed to provide a unified data-carrying service for both circuit-based clients and packet-switching clients which provide a datagram service model. It can be used to carry many different kinds of traffic, including IP packets, as well as native ATM, SONET, and Ethernet frames. To the extent terms in this patent involve MPLS, definitions and information concerning the terms may be obtained from RFC 3031 and 3032.
MPLS works by prepending packets with an MPLS header, containing one or more labels. This is called a label stack. The labels typically identify a specific path for a given sequence of packets. Devices that function as ingress and/or egress routers into an MPLS network are often called PE (Provider Edge) routers. Devices that function only as transit routers are similarly called P (Provider) routers. When an unlabeled packet enters the ingress router and needs to be passed on to an MPLS tunnel, the router first determines the forwarding equivalence class the packet should be in, and then inserts one (or more) labels in the packet's newly created MPLS header. The packet is then passed on to the next hop router for this tunnel. Within the MPLS network., the contents of the packet below the MPLS label stack are not examined. The forwarding/switching of the packet is done based on the contents of the labels.
Label Distribution Protocol (LDP) is a protocol in which two label-switched routers (LSR) exchange label mapping information. The two LSRs are called LDP peers and the exchange of information is bi-directional. LDP is used to build and maintain LSR databases that are used to forward traffic through MPLS networks.
RSVP-TE labels are used in the Resource Reservation Protocol—Traffic Extension, which allows establishment of label switched paths in an MPLS network. RSVP is a protocol that supports the reservation of resources across an IP network.
MP-BGP labels are labels used in the multiprotocol (MP) extensions of the Border Gateway Protocol (BGP), which is the core routing protocol of the Internet.
MPLS VPN is a family of methods for harnessing the power of Multiprotocol Label Switching (MPLS) to create Virtual Private Networks (VPNs). MPLS is well suited to the task as it provides traffic isolation and differentiation without substantial overhead.
A layer 3 MPLS VPN, also known as L3VPN, combines enhanced BGP signaling, MPLS traffic isolation and router support for VRFs (Virtual Routing/Forwarding) to create a virtual network. This solution is more scalable and less costly than classic provider-based frame relay or ATM-based networks, or IPSec-based VPNs. Layer 3 MPLS VPNs also support Quality of Service.
A layer 2 MPLS VPN, also known as L2VPN, is a point-to-point pseudowire service. It can be used to replace existing physical links. The specification is based on the Martini drafts, which define methods to transport layer 2 packets across MPLS networks, and methods to encapsulate transport protocols such as ATM, Ethernet, and SONET. The primary advantage of this MPLS VPN type is that it can transparently replace an existing dedicated facility without reconfiguration, and that it is completely agnostic to upper-layer protocols. By contrast, in a layer 3 VPN the hosts must speak IP.